20 research outputs found
On-stack replacement, distilled
On-stack replacement (OSR) is essential technology for adaptive optimization, allowing changes to code actively executing in a managed runtime. The engineering aspects of OSR are well-known among VM architects, with several implementations available to date. However, OSR is yet to be explored as a general means to transfer execution between related program versions, which can pave the road to unprecedented applications that stretch beyond VMs. We aim at filling this gap with a constructive and provably correct OSR framework, allowing a class of general-purpose transformation functions to yield a special-purpose replacement. We describe and evaluate an implementation of our technique in LLVM. As a novel application of OSR, we present a feasibility study on debugging of optimized code, showing how our techniques can be used to fix variables holding incorrect values at breakpoints due to optimizations
Recommended from our members
Dynamic software updates : a VM-centric approach
textBecause software systems are imperfect, developers are forced to fix bugs
and add new features. The common way of applying changes to a running
system is to stop the application or machine and restart with the new
version. Stopping and restarting causes a disruption in service that is at
best inconvenient and at worst causes revenue loss and compromises safety.
Dynamic software updating (DSU) addresses these problems by updating
programs while they execute. Prior DSU systems for managed languages like
Java and C# lack necessary functionality: they are inefficient and do not
support updates that occur commonly in practice.
This dissertation presents the design and implementation of Jvolve, a DSU
system for Java. Jvolve's combination of flexibility, safety, and
efficiency is a significant advance over prior approaches. Our key
contribution is the extension and integration of existing Virtual Machine
services with safe, flexible, and efficient dynamic updating
functionality. Our approach is flexible enough to support a large class of
updates, guarantees type-safety, and imposes no space or time overheads on
steady-state execution.
Jvolve supports many common updates. Users can add, delete, and change
existing classes. Changes may add or remove fields and methods, replace
existing ones, and change type signatures. Changes may occur at any level
of the class hierarchy. To initialize new fields and update existing ones,
Jvolve applies class and object transformer functions, the former for
static fields and the latter for object instance fields. These features
cover many updates seen in practice. Jvolve supports 20 of 22
updates to three open-source programs---Jetty web server, JavaEmailServer,
and CrossFTP server---based on actual releases occurring over a one to two
year period. This support is substantially more flexible than prior
systems.
Jvolve is safe. It relies on bytecode verification to statically type-check
updated classes. To avoid dynamic type errors due to the timing of an
update, Jvolve stops the executing threads at a DSU safe point and then
applies the update. DSU safe points are a subset of VM safe points, where
it is safe to perform garbage collection and thread scheduling. DSU safe
points further restrict the methods that may be on each thread's stack,
depending on the update. Restricted methods include updated methods for
code consistency and safety, and user-specified methods for semantic
safety. Jvolve installs return barriers and uses on-stack replacement to
speed up reaching a safe point when necessary. While Jvolve does not
guarantee that it will reach a DSU safe point, in our multithreaded
benchmarks it almost always does.
Jvolve includes a tool that automatically generates default object
transformers which initialize new and changed fields to default values and
retain values of unchanged fields in heap objects. If needed, programmers
may customize the default transformers. Jvolve is the first dynamic
updating system to extend the garbage collector to identify and transform
all object instances of updated types. This dissertation introduces the
concept of object-specific state transformers to repair application heap
state for certain classes of bugs that corrupt part of the heap, and a
novel methodology that employes dynamic analysis to automatically generate
these transformers. Jvolve's eager object transformation design and
implementation supports the widest class of updates to date.
Finally, Jvolve is efficient. It imposes no overhead during steady-state
execution. During an update, it imposes overheads to classloading and
garbage collection. After an update, the adaptive compilation system will
incrementally optimize the updated code in its usual fashion. Jvolve is the
first full-featured dynamic updating system that imposes no steady-state
overhead.
In summary, Jvolve is the most-featured, most flexible, safest, and
best-performing dynamic updating system for Java and marks a significant
step towards practical support for dynamic updates in managed language
virtual machines.Computer Science
Polydopamine nano-hybrids : interfacial and photoactive role in epoxy nanocomposites and polymerization
Mussel foot protein biomimetic polydopamine has unique physical, chemical, photoactive and semiconducting properties and was in receipt of abundant interest during the last decade since its first inception study as an adhesive material. PDA’s facile synthesis procedures and ability to literally coat on any kind of surface increase its applicability. In this project, the mimetic molecule was used to modify nanofillers for epoxy matrices, which were studied as nanocomposite adhesives and as potential 3D printable UV curing photopolymer system. The results showed as much as 100% improvement in lap shear strength compared to unfilled epoxies bonded on aluminum substrates. Cohesive mode failure was also observed.
Photopolymerization sustained research effort due to applications in adhesives, coating, printing inks and lithography but more recently renewed interest and effort due to emergence of additive manufacturing. Currently printable resins are predominantly neat polymer acrylates as the free radical polymerization route provides the reaction speeds required for the layer by layer additive manufacturing process. Advantages of epoxy compared with acrylates are reduced shrinkage; reaction not being affected by oxygen as its controlled cationic route but however it requires lower wavelengths than photoinitiators for free radical polymerization. So FRPCP approach was used, which makes use of photoinitiating system with photoinitiators sensitive in higher wavelengths (> 360 nm) and that subsequently trigger the cationic photoinitiator without requiring deep UV radiation. A novel strategy involving dual role nanophotoinitiator/ sensitizers in the photoinitiating system resulting in synergy for faster cure of epoxy has been proposed and evaluated.Doctor of Philosoph
Synthesis of amphiphilic block copolymers
The importance of amphiphillic block copolymers is emphasized by the ability of such materials to demonstrate molecular self assembly by phase segregation due to the incompatibility between the chemically different segments. Segregation here is limited to microphase as the opposing entities are covalently bonded and thus giving rise to well defined structural morphologies of nano order. Such self assembled constructions have potential applications as templates for synthesis of other nanomaterials, over which there is poor control in size and form.
The project includes the synthesis and characterization of new block copolymers with biodegradable and hydrophobic segments and biocompatible hydrophillic segments through sequential controlled polymerization routes, study of solution properties of such copolymers and the evaluation of their assembly behavior.
Copolymer synthesis comprises the polymerization of e-caprolactone monomers by ROP and subsequent copolymerization of DMAEMA onto PCL by ATRP. The copolymer chemical structures were evaluated by NMR, GPC and FTIR analysis. The temperature transitions of the polymers were evaluated by DSC. Solution behaviour of copolymer micelles was studied using DLS and the assembled structures were observed by TEM and AFM.
Copolymers of targeted molecular weights in the range 6000-16000 g/mol were obtained through the optimization of ATRP synthesis conditions. The weight fraction of hydrophillic segments was varied between 20 and 80 percent. More than one type of aggregates was consistently observed in aqueous copolymer solutions whose diameters were in the ranges 20-50nm and 90-200nm. Micelles sizes show concentration and pH dependence while the morphology of the self assembled structures is controlled by pH and PDMAEMA content.
Well defined biocompatible and partially biodegradable copolymers with narrow molecular weight distributions have been synthesized and shown to have stable self assembly behavior.Master of Engineering (MSE
Heterogeneous photosensitizers: super-efficient dual functional polydopamine nanohybrid for epoxy photopolymerization
The photosensitivity of nanoparticulate polydopamine (PDA) and polydopamine coated multiwalled carbon nanotubes (PDA/MWCNT) and their effect on the photopolymerization of epoxy monomers were systematically investigated. PDA/MWCNT nanohybrid at only 0.625 wt% has been shown to photo-catalyse the polymerization speed and conversion when compared with the commercial free radical photoinitiator, BAPO or non-free radical enhanced cationic photoinitiating resin systems. More importantly, it substantially increased the conversion by more than 140% over the unfilled free radical promoted cationic photoinitiating resin system. Covalent coated PDA/MWCNT nanohybrids were fabricated by oxidative polymerization of dopamine on the surface of acid treated MWCNTs. The modified MWCNT nanofiller has a dual role as photosensitizer/co-initiator in the FRPCP photoinitiating system and as mechanical reinforcement for the epoxy matrix. The use of PDA nanoparticles also led to the improvement in the polymerization process, albeit a limited one. Further evaluation of the observation suggests that the increase in the polymerization speed could be due to the photoinduced electron transfer effect in the polydopamine domain of the hybrid. The super efficiency effect has been explained through the heterojunction formation at the interface of dissimilar semi-conductive/conductive materials, polydopamine, a bio conjugated molecule with UV sensitivity and MWCNT hybrids, in the curing of epoxy monomers. This type of hybridized sensitizers/co-initiators have the potential to be applied in vat type 3D printing technologies such as SLA and DLP enabling printing with light blocking additives which otherwise pose a challenge in UV–Vis enabled curing and printing